// 变量提升 会先把var 声明的变量提到最前面
// 然后运行到 变量赋值的时候再赋值

// console.log(a); // undefined
// var a = 100;

// 上面的代码类似于
//01 提取var 声明的变量
// var a;
// console.log(a);
// a = 100;

// 块级作用域开始

// i++ 和 ++i
// i++ 返回原值 以后再自增
// ++i 返回自增以后的值

// for (var i = 0; i < 10; i++) {
//   var j = i + 1;
// }
// console.log({ i, j }); // {i: 10, j: 10}

// 使用 let 声明的 变量 只在 {} 中有效
// https://www.cnblogs.com/aisowe/p/11553398.html
for (let i = 0; i < 10; i++) {
  let j = i + 1;
}
// 会报错
console.log({ i, j }); // Uncaught ReferenceError: i is not defined

// 块级作用域 结束
